﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crosland.Automotriz.Data.Dao.Linq;
using Crosland.Automotriz.Entidad;
using System.Data.SqlClient;
using Crosland.Automotriz.Seguridad.ControlExeption;

namespace Crosland.Automotriz.Logic.Linq
{
    public class clsT_VEN_OFERTA_CABBL
    {
        readonly clsT_VEN_OFERTA_CABDAO datos = new clsT_VEN_OFERTA_CABDAO();

        public List<T_VEN_OFERTA_CAB_LISTAR> Listar(int ID_ORG_VTA, int ID_OFI_VTA, int ID_CANAL, int ID_TIPO_OFERTA, string DES_LARGA, bool IND_ACTIVO)
        {
            try {
                return datos.Listar(ID_ORG_VTA, ID_OFI_VTA, ID_CANAL, ID_TIPO_OFERTA, DES_LARGA, IND_ACTIVO);
            }
            catch (SqlException sqlEx)
            {
                throw new RunException("ERROR EN EL PROCEDIMIENTO Listar", sqlEx);
            }
            catch (Exception ex) { throw new RunException("ERROR EN LA APLICACION POR FAVOR CONSULTE: ", ex); }

           
        }
        public T_VEN_OFERTA_CAB Seleccionar(int ID_VEN_OFERTA_CAB)
        {
            return datos.Seleccionar(ID_VEN_OFERTA_CAB)[0];
        }

        public T_VEN_OFERTA_EMAIL SeleccionarEmail(int ID_VEN_OFERTA_CAB)
        {
            return datos.SeleccionarEmail(ID_VEN_OFERTA_CAB)[0];
        }

        public T_VEN_OFERTA_CAB_COMPLETO SeleccionarCompleto(int ID_VEN_OFERTA_CAB)
        {
            return datos.SeleccionarCompleto(ID_VEN_OFERTA_CAB)[0];
        }

        public int ObtenerUltimoID()
        {
            return datos.ObtenerUltimoID();
        }

        public bool Insertar(T_VEN_OFERTA_CAB Obj)
        {
            return datos.Insertar(Obj);
        }

        public bool Actualizar(T_VEN_OFERTA_CAB Obj)
        {
            return datos.Actualizar(Obj);
        }

        public bool Anular(int ID_VEN_OFERTA_CAB)
        {
            return datos.Anular(ID_VEN_OFERTA_CAB);
        }

        public int ActualizarPendienteDeAprobar(int ID_VEN_OFERTA_CAB, string ID_USUARIO_APROBACION)
        {
            return datos.ActualizarPendienteDeAprobar(ID_VEN_OFERTA_CAB, ID_USUARIO_APROBACION);
        }

        public int ActualizarAprobado(int ID_VEN_OFERTA_CAB, string ID_USUARIO_APROBACION)
        {
            return datos.ActualizarAprobado(ID_VEN_OFERTA_CAB, ID_USUARIO_APROBACION);
        }

        public int ActualizarRechazado(int ID_VEN_OFERTA_CAB, string ID_USUARIO_APROBACION)
        {
            return datos.ActualizarRechazado(ID_VEN_OFERTA_CAB, ID_USUARIO_APROBACION);
        }

        public TD_MATERIAL_OFERTA ListarOferta(string COD_MATERIAL)
        {
            return datos.ListarOferta(COD_MATERIAL)[0];
        }
    }
}
